package com.proyecto.miniplan.client;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.proyecto.miniplan.shared.ProyectoDTO;
import com.proyecto.miniplan.shared.TareaDTO;

public interface ProyectoServiceAsync {

	void abrirProyectos(String _usuario,
			AsyncCallback<ArrayList<ProyectoDTO>> callback);

	void abrirTarea(Long _proyecto, AsyncCallback<ArrayList<TareaDTO>> callback);

	void actualizarProyecto(Long _id, String _usuario, String _nombre,
			String _descripcion, AsyncCallback<Void> callback);

	void actualizarTarea(Long _id, String _nombre, int _duracion, Date _inicio,
			Date _fin, AsyncCallback<Void> callback);

	void eliminarProyecto(Long _id, String _usuario,
			AsyncCallback<Void> callback);

	void eliminarTarea(Long _id, String _proyecto, AsyncCallback<Void> callback);

	void guardarProyecto(Long _id, List<TareaDTO> _tareas,
			AsyncCallback<Void> callback);

	void nuevaTarea(Long _proyecto, String _nombre, int _duracion,
			Date _inicio, Date _fin, AsyncCallback<Long> callback);

	void nuevoProyecto(String _usuario, String _nombre, String _descripcion,
			AsyncCallback<Long> callback);

	void actualizarNombreProyecto(Long id, String nombre,
			AsyncCallback<Void> asyncCallback);

	void actualizarDescripcionProyecto(Long id, String descripcion,
			AsyncCallback<Void> asyncCallback);

}
